using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Decav.Gatsb.Messaging;

namespace Decav.Gatsb.Mobile
{
    /// <summary>
    /// Interfaces an object that parses SMS or MMS messages from a telephone.
    /// </summary>
    public interface IPhoneMessageParser
    {
        /// <summary>
        /// Reads the mail message from a stream and parses it into a
        /// <see cref="MobileMessage"/>.
        /// </summary>
        /// <param name="header">The header of an SMTP message</param>
        /// <param name="messageStream">The stream to read.</param>
        /// <returns>The post that was parsed.</returns>
        MobileMessage ParseMailMessage(SmtpMailHeader header, StreamReader messageStream);
    }
}
